#include<bits/stdc++.h>
using namespace std;
class Solution {
public:
	int dx[4]={0,1,0,-1};
	int dy[4]={1,0,-1,0};
	int dfs(vector<vector<int>>& grid,int x,int y){
		if(x<0 || x>=grid.size() || y<0 || y>=grid[0].size()|| grid[x][y]==0){
			return 0;
		}
		int ans=1;
		grid[x][y]=0;
		for(int i=0;i<4;i++){
			int tx=x+dx[i];
			int ty=y+dy[i];
			ans+=dfs(grid,tx,ty); 
		}  
		return ans;	  
	}
    int maxAreaOfIsland(vector<vector<int>>& grid) {
		int res=0;
		int n=grid.size(),m=grid[0].size();
		for(int i=0;i<n;i++){
			for(int j=0;j<m;j++){
				if(grid[i][j])
					res=max(res,dfs(grid,i,j));
			}
		}
		return res;
    }
};